package com.heng.dao.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("t_order")
public class Order {
    /** 主键ID */
    private Long id;

    /** 订单号（唯一） */
    @TableField("order_no")
    private String orderNo;

    /** 用户ID */
    @TableField("user_id")
    private Long userId;

    /** 商品ID */
    @TableField("product_id")
    private Long productId;

    /** 优惠券ID（0表示未使用） */
    @TableField("coupon_id")
    private Long couponId;

    /** 实付金额 */
    @TableField("pay_amount")
    private BigDecimal payAmount;

    /** 商品原价 */
    @TableField("original_amount")
    private BigDecimal originalAmount;

    /** 优惠金额 */
    @TableField("discount_amount")
    private BigDecimal discountAmount;

    /** 支付方式（ONLINE/WECHAT/ALIPAY） */
    @TableField("pay_type")
    private String payType;

    /** 订单状态（PAY_SUCCESS/WAIT_SEND/WAIT_RECEIVE/COMPLETED/CANCELLED） */
    @TableField("order_status")
    private String orderStatus;

    /** 收货地址ID */
    @TableField("shipping_address_id")
    private Long shippingAddressId;

    /** 创建时间 */
    @TableField(value = "create_time", fill = com.baomidou.mybatisplus.annotation.FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 更新时间 */
    @TableField(value = "update_time", fill = com.baomidou.mybatisplus.annotation.FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}